package com.dora.rabbitmq.service;


import com.dora.rabbitmq.po.Mail;

/**
 * 订阅者
 *
 * @author Clarence
 * @date 2024/03/03
 */
public interface Publisher {
	/**
	 * 使用fanout交换机发布消息给所有队列
	 *
	 * @param mail 邮件
	 */
	void publishMail(Mail mail);

	/**
	 * 使用direct交换机发送消息
	 *
	 * @param mail       邮件
	 * @param routingkey routingkey
	 */
	void sendDirectMail(Mail mail,String routingkey);

	/**
	 * 使用topic交换机发送消息
	 *
	 * @param mail       邮件
	 * @param routingkey routingkey
	 */
	void sendTopicMail(Mail mail,String routingkey);
}
